﻿using Brc_PaaS.Common.Entity;
using Brc_PaaS.Common.Model.Apollo;
using Brc_PaaS.Common.Model.Basic;

namespace Brc_PaaS.Bll.Apollo
{
    public  interface IApollo
    {
        /// <summary>
        /// 创建匿名空间
        /// </summary>
        /// <param name="createNamespaceViewDto"></param>
        /// <returns></returns>
        ResponseModel<string> CreateNamespace(CreateNamespaceViewDto createNamespaceViewDto);
        /// <summary>
        /// 保存配置信息
        /// </summary>
        /// <param name="createConfigViewDto"></param>
        /// <returns></returns>
        BaseResponseModel SaveConfig(CreateConfigViewDto createConfigViewDto);
        /// <summary>
        /// 删除配置
        /// </summary>
        /// <param name="deleteConfigViewDto"></param>
        /// <returns></returns>
        BaseResponseModel DeleteConfig(DeleteConfigViewDto deleteConfigViewDto);
        /// <summary>
        /// 获取配置
        /// </summary>
        /// <param name="key"></param>
        /// <param name="SystemInfo"></param>
        /// <returns></returns>
        ResponseModel<string> GetConfig(string key, Bas_System systemInfo, Ass_Apollo apollo);
        /// <summary>
        /// 根据systemId查询阿波罗基础信息
        /// </summary>
        /// <param name="systemId"></param>
        /// <returns></returns>
        ResponseModel<Ass_Apollo> GetNamespaceBySystemId(string systemId);
    }
}
